/** 文本控件数据 */
export interface TextData {
  /** 字体大小 */
  fontSize: number

  /** 字体 */
  fontFamily: FontFamily

  /** 对齐方式 */
  textAlign: TextAlign

  /** 最大长度 */
  maxLength?: number

  /** 占位文本 */
  placeholder?: string
}

/** 文本框字体 */
export enum FontFamily {
  /** 宋体 */
  Song = 0,

  /** 仿宋 */
  FangSong = 1,

  /** 黑体 */
  Bold = 2,

  /** 楷体 */
  Regular = 3,

  Arial = 6
}

/** 文本框字体 - 词典 */
export const FontFamilyDict = new Map([
  [FontFamily.Song, '宋体'],
  [FontFamily.FangSong, '仿宋'],
  [FontFamily.Bold, '黑体'],
  [FontFamily.Regular, '楷体'],
  [FontFamily.Arial, 'Arial']
])

/** 最小字体大小 */
export const FONT_SIZE_MIN = 6

/** 最大字体大小 */
export const FONT_SIZE_MAX = 28

/** 文本对齐 */
export enum TextAlign {
  /** 左对齐 */
  LEFT = 'left',
  /** 居中 */
  CENTER = 'center',
  /** 右对齐 */
  RIGHT = 'right'
}

/** 位置对应名称 */
export const TextAlignMap = new Map([
  [
    TextAlign.LEFT,
    {
      text: '左对齐',
      value: TextAlign.LEFT,
      icon: 'fa-icon-align-left'
    }
  ],
  [
    TextAlign.CENTER,
    {
      text: '居中',
      value: TextAlign.CENTER,
      icon: 'fa-icon-align-center'
    }
  ],
  [
    TextAlign.RIGHT,
    {
      text: '右对齐',
      value: TextAlign.RIGHT,
      icon: 'fa-icon-align-right'
    }
  ]
])

/** 文本默认选项 */
export const TextDefault: TextData = {
  fontSize: 16,

  fontFamily: FontFamily.Regular,

  textAlign: TextAlign.LEFT,

  maxLength: 3000,

  placeholder: ''
}
